package org.yiqixue.accounts.service;

import org.yiqixue.accounts.dto.TransactionDto;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

public interface ITransactionService {

    /**
     * 为指定账户创建一个存款交易
     * @param mobileNumber 客户手机号
     * @param amount 存款金额
     * @param description 交易描述
     * @return 创建的交易DTO
     */
    TransactionDto createDeposit(String mobileNumber, BigDecimal amount, String description);

    /**
     * 根据账户号获取交易历史
     * @param accountNumber 账户号
     * @return 交易列表
     */
    List<TransactionDto> getTransactionsByAccountNumber(Long accountNumber);

    /**
     * 根据账户号和日期范围获取交易历史
     * @param accountNumber 账户号
     * @param startDate 开始日期
     * @param endDate 结束日期
     * @return 交易列表
     */
    List<TransactionDto> getTransactionsByAccountNumberAndDateRange(
            Long accountNumber, LocalDateTime startDate, LocalDateTime endDate);
} 